package cn.iocoder.yudao.module.system.convert.oauth2;

import cn.iocoder.yudao.module.system.repository.mybatis.domain.dept.Dept;
import cn.iocoder.yudao.module.system.repository.mybatis.domain.dept.Post;
import cn.iocoder.yudao.module.system.repository.mybatis.domain.user.AdminUser;
import cn.iocoder.yudao.module.system.vo.oauth2.user.OAuth2UserInfoRespVO;
import cn.iocoder.yudao.module.system.vo.oauth2.user.OAuth2UserUpdateReqVO;
import cn.iocoder.yudao.module.system.vo.user.profile.UserProfileUpdateReqVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface OAuth2UserConvert {

    OAuth2UserConvert INSTANCE = Mappers.getMapper(OAuth2UserConvert.class);

    OAuth2UserInfoRespVO convert(AdminUser bean);

    OAuth2UserInfoRespVO.Dept convert(Dept dept);

    List<OAuth2UserInfoRespVO.Post> convertList(List<Post> list);

    UserProfileUpdateReqVO convert(OAuth2UserUpdateReqVO bean);

}
